/**
 * 根据图像url获取图像位图数据。
 * @method
 * @param {String} url 图像url。
 * @return {Promise<ImageBitmap>} 返回一个Promise，它解析为图像对应的位图数据。
 */
async function getImage(url) {
    return fetch(url, {
        method: 'GET',
        mode: 'cors',
      }).then(res => {
      return res.blob();
    }).then(img => {
      return createImageBitmap(img)
    }).then(bitmap => {
      return bitmap;
    }).catch(error=>{
      throw error;
    })
  }
/**
 * 根据json文件url获取相应json数据。
 * @method
 * @param {String} url json文件url。
 * @return {Promise<any>} 返回一个Promise，解析为json数据。
 */
async function getJson(url){
    return fetch(url, {
        method: 'GET',
        mode: 'cors',
      }).then(res => {
        return res.json();
    })
}
/**
 * 根据json文件url获取相应json数据。
 * @method
 * @param {String} url json文件url。
 * @return {Promise<any>} 返回一个Promise，解析为json数据。
 */
async function getBlob(url){
  return fetch(url, {
      method: 'GET',
      mode: 'cors',
    }).then(res => {
      return res.blob();
  })
}
async function getArrayBuffer(url){
  return fetch(url, {
      method: 'GET',
      mode: 'cors',
    }).then(res => {
      if (res.status === 404) {
        //console.error("404");
        return;
      }
      return res.arrayBuffer();
  }).catch(error=>{
    console.error(error);
  })
}

export {getImage,getJson,getBlob,getArrayBuffer}